package entidades;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.IndexColumn;
import org.hibernate.annotations.Type;


@Entity
@Table
public class ordenCompra implements Serializable{

	private int idCompra;
	private Cliente cli;
	private Collection <entidades.ordenCompraItem> itemsCompra;
	private Collection <Factura> facturas;
	private int precioTotal;
	private Date fechaCompra;
	
	
	@Id
	@GeneratedValue
	public int getIdCompra() {return idCompra;}
	public void setIdCompra(int idCompra) {this.idCompra = idCompra;}
	
	@ManyToOne
	public Cliente getCli() {return cli;}
	public void setCli(Cliente cli) {this.cli = cli;}
	
	@Column
	public int getPrecioTotal() {return precioTotal;}
	public void setPrecioTotal(int precioTotal) {this.precioTotal = precioTotal;}
	
	@Column
	@Type(type="date")
	public Date getFechaCompra() {return fechaCompra;}
	public void setFechaCompra(Date fechaCompra) {this.fechaCompra = fechaCompra;}
	
	@OneToMany( fetch=FetchType.LAZY, cascade=(CascadeType.ALL))
	public Collection<entidades.ordenCompraItem> getItemsCompra() {return itemsCompra;}
	public void setItemsCompra(Collection<entidades.ordenCompraItem> itemsCompra) {this.itemsCompra = itemsCompra;}

	@OneToMany( cascade=(CascadeType.ALL))
	public Collection<Factura> getFacturas() {return facturas;}
	public void setFacturas(Collection<Factura> facturas) {this.facturas = facturas;}
	


	

}

